'''
   文档字符串，能用于生成文档，可以作为注释存在
'''
import math

# 继续的抽象 形状
class Shape:
    '''
    形状
    '''
    def __init__(self,color):
        self.color = color

    def area(self):
        return  None


    def show_color(self):
        print(f'颜色为：{self.color}')

class Circle(Shape):
    '''
    定义了一个圆  属性： 半径、 颜色
    '''
    def __init__(self,r,color):
        super().__init__(color)
        self.r = r;
        # self.color = color

    def area(self):
        return 2 * math.pi  * self.r
    # 不需要写show_color 的方法

class Rectangle(Shape):
    '''
    定义了一个长方形 长和宽 、颜色
    '''
    def __init__(self, width,height,color):
        '''
        对对象进行初始化
        :param width: 宽
        :param height: 高
        :param color:颜色
        '''
        super().__init__(color)
        self.width = width;
        self.height = height;
        # self.color = color;

    def area(self):
        return  self.width * self.height

    # 不需要重复定义

class ManyBorderShape(Shape):

    def __init__(self,color):
        super().__init__(color)




if __name__ == '__main__':
    ci1 = Circle(10,'red');
    print(f"圆面积为{ci1.area()}")
    ci1.show_color()

    # 定义的长方形
    rect1 = Rectangle(10,5,'blue')
    print(f"长方形面积为{rect1.area()}")
    rect1.show_color()


    mbs = ManyBorderShape('green')

    print(f"多边形的面积为{mbs.area()}")
    mbs.show_color()
